#!/usr/bin/python

# Copyright 2011 The University of Adelaide
#
#   Licensed under the Apache License, Version 2.0 (the "License");
#   you may not use this file except in compliance with the License.
#   You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License. 

# Simple script to fetch indexes of metadata objects and metadata objects themselves.

import os, json, urllib2, shutil

# Fetch an index.

def index(base, type):
	print "fetching index: " + type
	url = base + type;
	return json.load(urllib2.urlopen(url))

# Fetch an object.

def get(base, prefix, type, id):
	url = base + type + "/" + id
	print "fetching object: " + type + "/" + id
	req = urllib2.urlopen(url)
	outfile = prefix + "_" + type + "_" + id + ".xml"
	outdir = os.path.dirname(outfile)
	if not os.path.exists(outdir):
		os.makedirs(outdir)
	with open(outfile, 'wb') as fp:
		shutil.copyfileobj(req, fp)
